<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>diff</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="denorm.html" title="denorm" />
    <link rel="next" href="diskgrain.html" title="diskgrain" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">diff</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="denorm.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="diskgrain.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="diff"></a>
      <div class="titlepage"></div>
      <a id="IndexDiff" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">diff</span>
        </h2>
        <p>diff — 
      Modify a signal by differentiation.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp99031696"></a>
        <h2>Description</h2>
        <p>
      Modify a signal by differentiation.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp99043696"></a>
        <h2>Syntax</h2>
        <pre class="synopsis">ares <span class="command"><strong>diff</strong></span> asig [, iskip]</pre>
        <pre class="synopsis">kres <span class="command"><strong>diff</strong></span> ksig [, iskip]</pre>
      </div>
      <div class="refsect1">
        <a id="idp99047312"></a>
        <h2>Initialization</h2>
        <p>
      <span class="emphasis"><em>iskip</em></span> (optional) -- initial disposition of internal save space (see <a class="link" href="reson.html" title="reson"><em class="citetitle">reson</em></a>). The default value is 0.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp99100160"></a>
        <h2>Performance</h2>
        <p>
      <a class="link" href="integ.html" title="integ"><em class="citetitle">integ</em></a> and <span class="emphasis"><em>diff</em></span> perform integration and differentiation on an input control signal or audio signal. Each is the converse of the other, and applying both will reconstruct the original signal. Since these units are special cases of low-pass and high-pass filters, they produce a scaled (and phase shifted) output that is frequency-dependent. Thus <span class="emphasis"><em>diff</em></span> of a sine produces a cosine, with amplitude 2 * <span class="emphasis"><em>pi</em></span> * Hz / <span class="emphasis"><em>sr</em></span> that of the original (for each component partial); <span class="emphasis"><em>integ</em></span> will inversely affect the magnitudes of its component inputs. With this understanding, these units can provide useful signal modification.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp99104960"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the diff opcode. It uses the file <a class="ulink" href="examples/diff.csd" target="_top"><em class="citetitle">diff.csd</em></a>.
      </p>
        <div class="example">
          <a id="idp99106816"></a>
          <p class="title">
            <strong>Example 193. Example of the diff opcode.</strong>
          </p>
          <div class="example-contents">
            <p>See the sections <a class="link" href="UsingRealTime.html" title="Real-Time Audio"><em class="citetitle">Real-time Audio</em></a> and <a class="link" href="CommandFlags.html" title="Csound command line"><em class="citetitle">Command Line Flags</em></a> for more information on using command line flags.</p>
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
-odac     <span class="comment">;;;RT audio out</span>
<span class="comment">;-iadc    ;;;uncomment -iadc if RT audio input is needed too</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
<span class="comment">; -o diff.wav -W ;;; for file output any platform</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>

<span class="ohdr">sr</span> <span class="op">=</span> 44100
<span class="ohdr">ksmps</span> <span class="op">=</span> 32
<span class="ohdr">nchnls</span> <span class="op">=</span> 2
<span class="ohdr">0dbfs</span> <span class="op">=</span> 1

<span class="oblock">instr</span> 1

asig <span class="opc">diskin2</span> "fox.wav", 1
     <span class="opc">outs</span> asig, asig

<span class="oblock">endin</span>

<span class="oblock">instr</span> 2	<span class="comment">; with diff</span>

asig <span class="opc">diskin2</span> "fox.wav", 1
ares <span class="opc">diff</span> asig
     <span class="opc">outs</span> ares, ares

<span class="oblock">endin</span>

<span class="oblock">instr</span> 3	<span class="comment">; with integ</span>

asig <span class="opc">diskin2</span> "fox.wav", 1
aint <span class="opc">integ</span> asig
aint <span class="op">=</span> aint<span class="op">*</span>.05			<span class="comment">;way too loud</span>
     <span class="opc">outs</span> aint, aint

<span class="oblock">endin</span>

<span class="oblock">instr</span> 4	<span class="comment">; with diff and integ</span>

asig <span class="opc">diskin2</span> "fox.wav", 1
ares <span class="opc">diff</span> asig
aint <span class="opc">integ</span> ares
     <span class="opc">outs</span> aint, aint

<span class="oblock">endin</span>

<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>

<span class="stamnt">i</span> 1 0 1
<span class="stamnt">i</span> 2 1 1
<span class="stamnt">i</span> 3 2 1
<span class="stamnt">i</span> 4 3 1

<span class="stamnt">e</span>

<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />
    </p>
      </div>
      <div class="refsect1">
        <a id="idp99111104"></a>
        <h2>See Also</h2>
        <p>
      <a class="link" href="downsamp.html" title="downsamp"><em class="citetitle">downsamp</em></a>, 
      <a class="link" href="integ.html" title="integ"><em class="citetitle">integ</em></a>, 
      <a class="link" href="interp.html" title="interp"><em class="citetitle">interp</em></a>, 
      <a class="link" href="samphold.html" title="samphold"><em class="citetitle">samphold</em></a>, 
      <a class="link" href="upsamp.html" title="upsamp"><em class="citetitle">upsamp</em></a>
    </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="denorm.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="diskgrain.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">denorm </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> diskgrain</td>
        </tr>
      </table>
    </div>
  </body>
</html>
